import request from '@/utils/request'; // 假设我们有一个封装好的axios实例

/**
 * 【查询】获取商品列表
 * @param {object} params - 查询参数，例如 { keyword: 'xxx', status: 1 }
 */
export function getProductList(params) {
    return request({
        url: '/api/admin/product/list.do',
        method: 'get',
        params // GET请求，参数会直接拼在URL后面
    });
}

/**
 * 【新增】商品
 * @param {object} data - 商品数据
 */
export function addProduct(data) {
    // 你的后端用的是 req.getParameter()，所以我们要用 'application/x-www-form-urlencoded' 格式
    const formData = new URLSearchParams();
    for (const key in data) {
        if (data[key] !== null && data[key] !== undefined) {
            formData.append(key, data[key]);
        }
    }
    return request({
        url: '/api/admin/product/add.do',
        method: 'post',
        data: formData
    });
}

/**
 * 【更新】商品信息 (包括下架)
 * @param {object} data - 商品数据，必须包含 productId
 */
export function updateProduct(data) {
    const formData = new URLSearchParams();
    for (const key in data) {
        if (data[key] !== null && data[key] !== undefined) {
            formData.append(key, data[key]);
        }
    }
    return request({
        url: '/api/admin/product/update.do',
        method: 'post',
        data: formData
    });
}